/**
 * redis数据库操作封装
 */
package redis

import (
	"strconv"

	s "gitee.com/xiaoa7/jsetl/service"
	"github.com/redis/go-redis/v9"
)

type (
	Redis struct {
		client *redis.Client
	}
)

// 连接数据库
func ConnectDB(key string, p ...string) error {
	dbindex, _ := strconv.Atoi(p[2])
	_redis := new(Redis)
	_redis.client = redis.NewClient(&redis.Options{
		Addr:     p[0],    // Redis 服务器地址
		Password: p[1],    // 没有密码则留空
		DB:       dbindex, // 使用默认数据库
	})
	s.RegisteService(key, _redis)
	return nil
}

// 空实现
func (r *Redis) Connect(key string, p ...string) error {
	return nil
}

// 断开连接
func (r *Redis) Destory() error {
	if r.client != nil {
		r.client.Close()
		r.client = nil
	}
	return nil
}
